<template>
	<uni-nav-bar fixed="true" statusBar="true" border="false" :left-icon="isShareEntry ? 'home' : 'left'" title="行程详情" @clickLeft="handleClickLeft"></uni-nav-bar>
	<view class="container">
		<view class="sticky" :style="{'top':showNavTop+'px'}">
			<text :class="navIndex==0?'mr100 active':'mr100'" @click="checkIndex(0)">行程详情</text><text :class="navIndex==1?'active':''" @click="checkIndex(1)">团队成员</text>
		</view>
		<view class="bottom_wrap">
			<!-- 内容切换 -->
			<view class="content" v-if="navIndex==0">
		<swiper v-if="Data.travelLinesDetailDto" class="index-swiper" :indicator-dots="true" :autoplay="true" :interval="5000" :duration="1000">
			<swiper-item v-for="(item,index) in Data.travelLinesDetailDto.linePicUrl" :key="index">
				<image :src="item" alt="" mode="widthFix"></image>
			</swiper-item>
		</swiper>
		<view class="uni-padding-wrap pt30 pb130">
			<view class="bor_d color-black p100">
				<view class="uni-flex sp_betw line-h70">
					<text class="b-font font-32">{{Data.itineraryTitle}}</text>
					<text class="b-font color-orange">组队中</text>
				</view>
				<view class="uni-flex sp_betw line-h70">
					<text>领队&nbsp;&nbsp;{{Data.userName}}</text>
					<text>2025/09/08&nbsp;&nbsp;发布</text>
				</view>
				<view class="line-h50" v-if="Data.travelLinesDetailDto">
					<text>城市&nbsp;&nbsp;{{Data.travelLinesDetailDto.linesCityDesc}}</text>
				</view>
				<view class="is-flex line-h70" v-if="Data.travelLinesDetailDto">
					难度&nbsp;&nbsp;<uni-rate :readonly="true" max="5" :value="Data.travelLinesDetailDto.linesStar" />
				</view>
			</view>
			<view class="bor_d p100">
				<view class="bg-white uni-flex boxsiz ac">
					<view class="avatar mr15" @tap="navgetTo('pages/schdule/ld_schdule',Data,'')">
						<image mode="aspectFill" :src="leaderUserInfo.headerPic || 'https://green-leader.oss-cn-hangzhou.aliyuncs.com/common/%E5%8F%8B%E6%AD%A5%E9%A2%86%E9%98%9Flogo.png'"></image>
					</view>
					<view class="flex1">
						<view class="uni-flex sp_betw mb20">
							<view class="gender">
								<text class="lineBlock">{{leaderUserInfo.nickName}}&nbsp;&nbsp;<text class="gender-icon color-blue b-font" v-if="leaderUserInfo.sex === 0">♂</text><text class="gender-icon color-red b-font" v-if="leaderUserInfo.sex === 1">♀</text></text>
							</view>
							<view class="">
								<text v-if="Data.roleOnItinerary != 'MEMBER'" class="map-text sign-status uni-success" @tap="navgetTo('pages/schdule/ld_schdule',Data,'')">查看主页</text>
								<text v-if="Data.roleOnItinerary == 'MEMBER'" class="map-text sign-status uni-success" @click="playphone(leaderUserInfo.mobile)">联系领队</text>
							</view>
						</view>
						<view class="">
							<text class="mr100">带队&nbsp;&nbsp;{{leaderUserInfo.leaderCount}}次</text>
							<text>评分&nbsp;&nbsp;{{leaderUserInfo.recommendScore}}分</text>
						</view>
					</view>
				</view>
			</view>
			<view class="bor_d color-black p100 xc-info">
				<view class="xc-desc text-justify" v-if="Data.travelLinesDetailDto">
					<text>{{Data.travelLinesDetailDto.linesBrief}}</text>
				</view>
			</view>
			<view class="bor_d color-black p100">
				<view class="is-flex mb15">
					<uni-icons type="personadd" size="20"
						color="#37b64a"></uni-icons><text class="ml20">上限人数&nbsp;&nbsp;&nbsp;&nbsp;{{Data.userLimit}}人</text>
				</view>
				<view class="is-flex mb15">
					<uni-icons type="auth" size="20"
						color="#37b64a"></uni-icons><text class="ml20">成团人数&nbsp;&nbsp;&nbsp;&nbsp;{{Data.compositionNum}}人</text>
				</view>
				<view class="is-flex mb15">
					<uni-icons type="wallet" size="20"
						color="#37b64a"></uni-icons><text class="ml20">行程费用&nbsp;&nbsp;&nbsp;&nbsp;{{Data.itineraryFee}}元</text>
				</view>
				<view class="is-flex mb15">
					<uni-icons type="minus" size="20"
						color="#37b64a"></uni-icons><text class="ml20">报名期限&nbsp;&nbsp;&nbsp;&nbsp;{{Data.expireDate}}止</text>
				</view>
				<view class="is-flex mb15">
					<uni-icons type="minus" size="20"
						color="#37b64a"></uni-icons><text class="ml20">集合时间&nbsp;&nbsp;&nbsp;&nbsp;{{Data.collectDate}}</text>
				</view>
				<view class="uni-flex ac sp_betw mb15">
					<view class="mapStyle">
					<uni-icons type="location" size="20"
						color="#37b64a"></uni-icons><text class="ml20 mr40 mapText">集合地点&nbsp;&nbsp;&nbsp;&nbsp;{{Data.collectAddress}}</text>
					</view>
					<view class="mapIcon">
					<uni-icons type="paperplane" size="20" color="#37b64a"></uni-icons><text class="map-text font_size_22 sign-status uni-primary"
						@tap="openTencentMapNavigation">地图导航</text>
						</view>
				</view>
			</view>
			<view class="bor_d color-black p100 xc-info mb40">
				<text>
					{{Data.itineraryContent}}
				</text>
			</view>
			<view class="share-reward color-black">
				<view class="uni-flex sp_betw">
					<view class="is-flex">
						<text class="b-font color-black">分享奖励</text>
						<uni-icons type="info" size="20" color="#888"></uni-icons>
					</view>
					<view class="">
						<button open-type="share" class="share-btn sign-status uni-success">分享</button>
					</view>
				</view>
				<view class="is-flex">
					<text class="color-gray">领队已打开分享推广奖励，用户可通过分享报名链接邀请好友报名，分享链接成交的订单将获得订单成交金额的2.5%服务费奖励，奖励将在行程结束后次日通过用户钱包结算，用户可在钱包内申请提现。</text>
				</view>
			</view>
		</view>
		</view>
		<!-- 内容切换 -->
		<view class="content" v-if="navIndex==1">
			<view class="vt50 tc" v-if="List.length == 0">
				<view>暂无数据！</view>
			</view>
			<scroll-view scroll-y="true" scroll-x="false" :style="{height:scrollH+'px'}" refresher-enabled="true" :refresher-triggered="isRefreshing" @refresherrefresh="onRefresh" @scrolltolower="onLoadMore">
			<view class="pb130" v-if="List.length>0" v-for="item in List">
				<view class="card-list uni-flex p3020 bor_d">
					<image :src="item.userDetailDto.headerPic"></image>
					<view class="card-item flex1">
						<view class="uni-flex w100 mb40">
							<view class="uni-flex gender"><text class="mr15">昵称</text>{{item.userDetailDto.nickName}}<text v-if="item.userDetailDto.sex == 0" class="gender-icon color-blue">&nbsp;&nbsp;♂</text><text v-if="item.userDetailDto.sex == 1" class="gender-icon color-red">&nbsp;&nbsp;♀</text></view>
						</view>
						<view><text class="mr15">签名</text>{{item.userDetailDto.signature}}</view>
					</view>
				</view>
			</view>
			<!-- 加载提示 -->
			 <view v-if="isLoading" class="tc mb100">{{loadMoreText}}</view>
			</scroll-view>
		</view>
		</view>
		<view class="fixed-bottom-wrap" v-if="navIndex==0">
			<view class="schdule-card uni-flex">
				<view class="flex-item wd100 sign bg-green" v-if="Data.itinerarySta == 'ZT'" @click="sign">
					<text>我要报名</text>
				</view>
				<view class="flex-item wd100 sign bg-green" v-if="Data.itinerarySta == 'O' && Data.recommendFlag=='F'"
					@tap="navgetTo('pages/schdule/create_schdule_evaluate',Data,'')">
					<text>行程评价</text>
				</view>
				<view class="flex-item wd100 sign bg-green" v-if="Data.itinerarySta == 'O' && Data.recommendFlag=='T'"
					@tap="navgetTo('pages/schdule/view_schdule_evaluate',Data,'')">
					<text>查看评价</text>
				</view>
				<!-- <view class="flex-item color-black" @tap="navgetTo('pages/schdule/ld_schdule',Data,'')">
					<uni-icons type="shop" size="28" color="#000"></uni-icons>
					<text>领队行程</text>
				</view>
				<button open-type="share" class="flex-item color-green share-btn">
					<uni-icons type="weixin" size="28" color="#37b64a"></uni-icons>
					<text>分享</text>
				</button>
				<view class="flex-item sign" @click="sign">
					<text>我要报名</text>
				</view> -->
			</view>
		</view>
	</view>
	<loginwx ref="login"></loginwx>
</template>

<script>
	import api from '@/common/api/webapi.js'; /*api*/
	import storageUtil from '@/common/util/storageUtil.js';
	import loginwx from '@/components/login-wx/loginwx.vue';
	export default {
		components: {
			loginwx
		},
		data() {
			const currentDate = this.getDate({
				format: true
			})
			return {
			Data:{},
			leaderUserInfo:{},
			showNavTop:88,
			mapInfo:{},
			starValue:0,
			maxStar:5,
			date: currentDate,
			LeaderUserId:'',
			memberAccount:'',
			schduleId:'',
			navIndex:0,
			scrollH:0,
			isRefreshing:false,
			isLoading:false,
			loadMoreText:"加载中...",
			List:[],
			isShareEntry: false, // 是否从分享进入
			param: {
				page: 1, //当前页
				limit: 10, //每页显示记录数
				PageCount: 0,
			},
		}
		},
		computed: {
			startDate() {
				return this.getDate('start');
			},
			endDate() {
				return this.getDate('end');
			}
		},
		watch: {

		},
		onReady() {
			// 获取可滚动区域的高度：视口高度 - tabbar切换卡高度就是剩余的内容可滚动的。
			//如果你使用取消了原生导航栏，记着把你自定义导航栏的高度也减掉哦
			uni.getSystemInfo({
				success: (res) => {
					this.scrollH = res.windowHeight - uni.upx2px(100)
				}
			})
		},
		onLoad(option) {
			const app = getApp()
				this.navTop = app.globalData.navTop;
				this.showNavTop = this.navTop + 44;
			console.log("option",option);
			// 判断是否从分享进入（通过特定参数组合判断）
			this.isShareEntry = option.LeaderUserId && option.schduleId && option.memberAccount;
			
			if(option.LeaderUserId && option.schduleId){
				this.LeaderUserId = option.LeaderUserId;
				this.memberAccount = option.memberAccount;
				this.schduleId = option.schduleId;
				storageUtil.saveStorageData("LeaderUserId",option.LeaderUserId);
				storageUtil.saveStorageData("memberAccount",option.memberAccount);
				storageUtil.saveStorageData("schduleId",option.schduleId);
				this.InternanyId = option.schduleId;
			}else{
				if (option.param) {
					let params = JSON.parse(decodeURIComponent(option.param));
					this.InternanyId = params.data;
				}
			}
			this.checkIndex(0);
		},
		onShareAppMessage(options) {
			const memberAccount = storageUtil.getUserData('memberAccount');
			console.log("memberAccount",memberAccount);
			let params = {id: this.Data.id, leaderUserId: this.Data.userId};
			console.log(params);
			let path = `/pages/index/hall_schdule_detail?share=true&schduleId=${params.id}&LeaderUserId=${params.leaderUserId}&memberAccount=${memberAccount}`;
			console.log("path",path);
			return {
				title: this.Data.itineraryTitle || '行程分享', // 分享标题
				path: path, // 分享的路径，可以是当前页面的路径，也可以是其他页面的路径
				imageUrl: this.Data.travelLinesDetailDto?.coverUrl || 'https://green-leader.oss-cn-hangzhou.aliyuncs.com/common/%E5%8F%8B%E6%AD%A5%E9%A2%86%E9%98%9Flogo.png?Expires=1756883866&OSSAccessKeyId=TMP.3KpSD3VRfU9KihXPDkydNDQFJg3KKHzZSyEBFUWF3pGAnyAiWYGgpjwt9uBjqRXsED9YmkZvTwXEzR2U9GiNpzPcSehURJ&Signature=VDiG2wlWjKtqodT48NqaykugSEM%3D' // 分享的图片链接
			};
			
		},
		onShareTimeline(options) {
			const memberAccount = storageUtil.getUserData('memberAccount');
			let params = {id: this.Data.id, leaderUserId: this.Data.userId};
			
			return {
				title: this.Data.itineraryTitle || '行程分享', // 分享标题
				path: `/pages/index/hall_schdule_detail?share=true&schduleId=${params.id}&LeaderUserId=${params.leaderUserId}&memberAccount=${memberAccount}`, // 分享的路径，可以是当前页面的路径，也可以是其他页面的路径
				imageUrl: this.Data.travelLinesDetailDto?.coverUrl || 'https://green-leader.oss-cn-hangzhou.aliyuncs.com/common/%E5%8F%8B%E6%AD%A5%E9%A2%86%E9%98%9Flogo.png?Expires=1756883866&OSSAccessKeyId=TMP.3KpSD3VRfU9KihXPDkydNDQFJg3KKHzZSyEBFUWF3pGAnyAiWYGgpjwt9uBjqRXsED9YmkZvTwXEzR2U9GiNpzPcSehURJ&Signature=VDiG2wlWjKtqodT48NqaykugSEM%3D' // 分享的图片链接
				};
		},
		methods: {
			back(){
				uni.navigateBack();
			},
			// 跳转到首页
			goHome(){
				uni.switchTab({
					url: '/pages/index/index'
				});
			},
			// 根据是否为分享进入处理左侧点击事件
			handleClickLeft(){
				if(this.isShareEntry){
					this.goHome();
				}else{
					this.back();
				}
			},
			pageInit(opt) {
			let _this = this;
			console.log('行程详情页接收参数:', opt);
			// 1. 优先处理通过param参数传递的数据
			if (opt.param) {
				try {
					let params = JSON.parse(decodeURIComponent(opt.param));
					console.log('解析param参数:', params);
					_this.Data.id = params.data;
					_this.InternanyId = params.data;
					if(_this.navIndex == 0){
						_this.GetDetailInfo(_this.Data.id);
					}else{
						_this.getPageList('onPullDownRefresh');
					}
					
				} catch (e) {
				}
			} 
			// 2. 处理直接通过URL参数传递的schduleId
			else if (opt.schduleId) {
				_this.Data.id = opt.schduleId;
				_this.GetDetailInfo(_this.Data.id);
			}
			// 3. 处理历史分享链接使用的InternanyId参数
			else if (opt.InternanyId) {
				_this.Data.id = opt.InternanyId;
				_this.GetDetailInfo(_this.Data.id);
			} 
			// 4. 默认情况
			else {
				_this.Data = {
					"id": 0,
					"userId": 0,
					"travelLinesId": 0,
					"itineraryTitle": "",
					"userLimit": 0,
					"compositionNum": 0,
					"itineraryFee": 0,
					"expireDate": "",
					"collectDate": "",
					"collectAddress": "",
					"collectLng": "",
					"collectLat": "",
					"itineraryContent": "",
					"promotionSwitch": "",
					"canShare": "",
					"recommendFlag": "",
					"roleOnItinerary": "",
					"travelLinesDetailDto": {
					  "id": 0,
					  "linesTitle": "",
					  "linesProvinceCode": "",
					  "linesProvinceDesc": "",
					  "linesCityCode": "",
					  "linesCityDesc": "",
					  "linesStar": 0,
					  "linesBrief": "",
					  "coverUrl": "",
					  "createDate": "",
					  "groupNum": 0,
					  "linePicUrl": [
						""
					  ]
					}
				}
			}
			
			},
			checkIndex(index) {
				this.navIndex = index;
				if(this.navIndex == 0){
					this.GetDetailInfo(this.InternanyId);
				}else if(this.navIndex == 1){
					this.getPageList('onPullDownRefresh');
				}
			},
			getDate(type) {
				const date = new Date();
				let year = date.getFullYear();
				let month = date.getMonth() + 1;
				let day = date.getDate();
				if (type === 'start') {
					year = year;
				} else if (type === 'end') {
					if (month > 6) {
						year = year + 1;
					}
					year = year;
				}
				month = month > 9 ? month : '0' + month;
				day = day > 9 ? day : '0' + day;
				return `${year}-${month}-${day}`;
			},
			// 城市选择器
			bindRegionChange: function(e) {
				this.region = e.detail.value;
			},
			// 页面跳转
			navgetTo(page, param, type) {
				if (param != undefined) {
					type = type || '';
					let data = {
						data: param,
						page: type
					}
					uni.navigateTo({
						url: "/" + page + "?param=" + encodeURI(JSON.stringify(data)),
					});
				} else {
					uni.navigateTo({
						url: "/" + page,
					});
				}
			},
			GetDetailInfo(ID) {
				let _this = this;
				api.getItineraryInfo({
					params: {
						itineraryId: ID,
					}
				}).then(res => {
					if (res.code === 0) {
						_this.GetleaderInfo(res.data.userId);
						_this.Data = res.data;
						_this.mapInfo.collectAddress = res.data.collectAddress;
						_this.mapInfo.collectLng = res.data.collectLng;
						_this.mapInfo.collectLat = res.data.collectLat;
					} else {}
				}).catch()
			},
			GetleaderInfo(userId) {
				let _this = this;
				api.leaderInfo({
					params: {
						leaderUserId : userId,
					}
				}).then(res => {
					if (res.code === 0) {
						_this.leaderUserInfo = res.data;
					} else {}
				}).catch()
			},
			sign(){
				let userLoginFlag = storageUtil.getStorageData("isLogin");
				if (userLoginFlag) {
					let phone = storageUtil.getUserData('mobile');
					let curNickName = storageUtil.getUserData('nickName');
					this.Data.signUser = curNickName;
					this.Data.signMobile = phone;
					if(this.Data.signUser == this.Data.userName){
						uni.showToast({
							icon: 'none',
							title: '领队不能报名自己的行程哦！'
						});
						return;
					}
					if(this.Data.roleOnItinerary == 'MEMBER'){
						uni.showToast({
							icon: 'none',
							title: '已经报名了，不能重复报名哦！'
						});
						return;
					}
					console.log("Data",this.Data);
					uni.navigateTo({
						url:'/pages/agreement/group_privacy_sign?param='+encodeURI(JSON.stringify(this.Data))
					})
				}else{
					this.popShowHandle();
				}
			},
			popShowHandle() {
				setTimeout(() => {
					let _this = this;
					_this.$refs.login.open()
				}, 50);
			},
			onRefresh() {  // 下拉刷新
				this.isRefreshing = true;
				this.param.page = 1;
				this.getPageList('onPullDownRefresh');
			},
			onLoadMore() {  // 上拉加载
				if (this.isLoading) return;
				this.isLoading = true;
				this.param.page = (this.param.page + 1);
				if (this.param.page > this.param.PageCount) {
					this.isLoading = true;
					this.loadMoreText = "到底了!"
					return;
				}
				this.getPageList('onReachBottom');
			},
			// 打开地图导航（微信小程序专用）
			openTencentMapNavigation() {
				const { collectLat, collectLng, collectAddress } = this.mapInfo;
				if (!collectLat || !collectLng) {
					uni.showToast({
						title: '暂无导航信息',
						icon: 'none'
					});
					return;
				}
			
				try {
					// 在微信小程序中直接使用微信地图API
					uni.openLocation({
						latitude: Number(collectLat),
						longitude: Number(collectLng),
						address: collectAddress || '集合地点',
						name: collectAddress || '集合地点',
						success() {
							console.log('打开地图成功');
						},
						fail(err) {
							console.error('打开地图失败', err);
							uni.showToast({
								title: '打开地图失败，请检查是否开启位置权限',
								icon: 'none'
							});
						}
					});
				} catch (error) {
					console.error('地图导航出错:', error);
					uni.showToast({
						title: '地图导航异常，请重试',
						icon: 'none'
					});
				}
			},
			// 电话领队
			playphone(mobilePhone) {
				uni.makePhoneCall({
					// 手机号 这里可以直接写号码如 12345 也可以写获取号码的字段如this.mobile
					phoneNumber: mobilePhone,
					// 成功回调
					success: (res) => {
						// console.log('调用成功!')
					},
					// 失败回调
					fail: (res) => {
						// console.log('调用失败!')
					}
				});
			},
			// 获取分页列表
			getPageList(type) {
				let _this = this;
			
				let requestData = {
					params: { 
						page: _this.param.page, //当前页
						size: _this.param.limit, //每页显示记录数
						travelItineraryId:_this.Data.id,
					}
				}
				api.leaderItineraryMemberList(requestData).then(res => {
					if (res.code === 0) {
						if (res.data.length > 0) {
							let pagelist = res.data;
							if (type == "onReachBottom") {
								_this.List = _this.List.concat(pagelist)
							} else {
								_this.List = pagelist;
							}
						}else{
							if(type == "onPullDownRefresh"){
								_this.List = [];
							}else if(type == "onReachBottom"){
								this.loadMoreText = "到底了!"
							}
						}
					} else {}
				_this.isRefreshing = false;
				_this.loadMoreText = "";
				}).catch(function(){
					_this.isRefreshing = false;
					_this.loadMoreText = "";
				})
			
			},
		}
	}
</script>

<style lang="scss" scoped>
	.container {
		font-size: 14px;
		line-height: 24px;
		overflow: hidden;
	}
	
	.bottom_wrap{
		padding-top: 85rpx;
	}
	
	.card-list image{
		width: 160rpx;
		height: 160rpx;
		border-radius: 50%;
	}

	.index-swiper {
		width: 100%;
		height: 998rpx;
	}

	.index-swiper image {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	
	.bottom-wrap{
		position: relative;
	}
	/* 用户信息区域 */
	.avatar {
		width: 120rpx;
		height: 120rpx;
		text-align: right;
		image {
			width: 120rpx;
			height: 120rpx;
			object-fit: cover;
			border-radius: 50%;
		}
	}
	
	.share-btn{
		width: 120rpx;
		height: 50rpx;
		line-height: 50rpx;
		background-color: #fff;
	}
	
	.is-flex{
		display: flex;
		align-items: center;
	}
	
	.xf-wrap {
		position: relative;
		top: -60rpx;
		overflow: hidden;
	}

	.box-shadow {
		box-shadow: 2rpx 2px 2rpx $uni-text-color-grey8;
		background-color: #ffffff;
		border-radius: 20rpx;
	}
	
	.mapStyle{
		display: inline-flex;
		width: calc( 100% - 160rpx );
		align-items: center;
	}
	.mapText{
		display: inline-block;
		width: 86%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.mapIcon{
		width: 160rpx;
	}

	.xf-wrap input {
		font-weight: bold;
	}

	.uni-flex {
		display: flex;
		align-items: center;
	}

	.uni-row {
		flex-direction: row;
	}

	.sticky {
		height: 85rpx;
		line-height: 85rpx;
		background-color: #ffffff;
		width: 100%;
		color: #888;
		position: fixed;
		top: -1rpx;
		left: 0;
		right: 0;
		z-index: 999;
		text-align: center;
	}

	.sticky text {
		color: $uni-text-color-light-blue;
		font-weight: bold;
		padding: 10rpx 15rpx;
	}
	.sticky text.active{
		color: $uni-text-color-blue;
		border-bottom: 2px solid $uni-text-color-blue;
	}
	.xc-desc{
		text{
			margin-bottom: 30rpx;
			display: block;
		}
	}
	.xc-info{
		.map-text{
			color: $uni-text-color-blue;
			font-size: 16rpx;
			padding: 5rpx 10rpx;
			border: 1px solid $uni-text-color-blue;
			border-radius: 10rpx;
		}
	}
	.pb130{
		padding-bottom: calc( 130rpx + max(env(safe-area-inset-bottom),20px));
	}
	.share-reward{
		.color-black{
			display: block;
			margin-bottom: 20rpx;
		}
		.is-flex{
			align-items: flex-start;
		}
		.color-gray{
			line-height: 1.8;
			text-align: justify;
			margin-left: 20rpx;
		}
	}
	::v-deep button{
		border: initial;
		background-color: transparent;
	}
	::v-deep button:after{
		border: inherit;
		background-color: transparent;
	}
	::v-deep button text{
		font-size: 28rpx;
	}
	.fixed-bottom-wrap {
		position: fixed;
		z-index: 1;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: #fff;
		width: 100%;
		height: calc(60rpx + max(env(safe-area-inset-bottom),20px));
		line-height: calc(60rpx + max(env(safe-area-inset-bottom),20px));
	}
	.sign-status{
		// color: #888;
		border: 1px solid #888;
		border-radius: 10rpx;
		padding: 0 15rpx;
	}
	.sign-status.uni-warning{
		color: $uni-text-color-orange;
		border: 1px solid $uni-text-color-orange;
	}
	.sign-status.uni-success{
		color: $uni-text-color-green;
		border: 1px solid $uni-text-color-green;
		font-size: 24rpx;
	}
	.sign-status.uni-primary{
		color: $uni-text-color-blue;
		border: 1px solid $uni-text-color-blue;
	}
	.sign-status.uni-default{
		color: #000;
		border: 1px solid #888;
	}
	.schdule-card {
		height: calc(60rpx + max(env(safe-area-inset-bottom),20px));
		line-height: 60rpx;
		border-top: 1px solid #f8f8f8;
		padding-bottom: max(env(safe-area-inset-bottom),20px);
	
		.flex-item {
			text-align: center;
		}
	
		text {
			display: block;
		}
	
		.sign {
			height: 100%;
			color: $uni-text-color-white;
			font-size: 32rpx;
			line-height: 100%;
			border-radius: 0;
			text {
				line-height: 100rpx;
			}
		}
	}
	
</style>